// Main uses Disasters (Wildfires, Floods), Buildings (Farms, Hospitals, Stores), BoundingBox, BuildingsAtRisk
// The points for all objects are randomly selected.

package Week4;


public class Main {


	public static void main(String[] args) {
	
		System.out.println("Mike and Bo's disaster plan.");
		System.out.println("============================");

		
		
//		Construct wildfire points.		
		Wildfires wfr = new Wildfires (5);
		
		System.out.println("");
		System.out.println("Wildfire points:");
		System.out.println(wfr.getDisasters());
				
//		Construct bounding box of the wildfire points.
		BoundingBox bbWfr = new BoundingBox(wfr.getDisasters());
		
		System.out.println("");		
		System.out.println("Wildfire bounding box:");
		System.out.println(bbWfr.getBoundingBox());

		System.out.println("");	
		System.out.println("------------------------");	

		
		
//		Construct flood points.		
		Floods fld = new Floods (4);
		
		System.out.println("");
		System.out.println("Flood points:");
		System.out.println(fld.getDisasters());		

//		Construct bounding box of the flood points.
		BoundingBox bbFld = new BoundingBox(fld.getDisasters());
		
		System.out.println("");		
		System.out.println("Flood bounding box:");
		System.out.println(bbFld.getBoundingBox());

		System.out.println("");	
		System.out.println("------------------------");			


		
//		Construct farm points.		
		Farms frm = new Farms(3);
		System.out.println("");
		System.out.println("Farm points:");
		System.out.println(frm.getBuildings());	

//		Construct hospital points.
		Hospitals hsp = new Hospitals(4);
		System.out.println("");
		System.out.println("Hospital points:");
		System.out.println(hsp.getBuildings());	

//		Construct store points.
		Stores str = new Stores(5);
		System.out.println("");
		System.out.println("Store points:");
		System.out.println(str.getBuildings());	

		System.out.println("");	
		System.out.println("------------------------");	

		
	
//		Construct list of farms at risk from wildfire.
		BuildingsAtRisk barWfrFrm = new BuildingsAtRisk(bbWfr.getBoundingBox(), frm.getBuildings());
		
		System.out.println("");
		System.out.println("Farms at risk from wildfire:");
		System.out.println(barWfrFrm.getBuildingsAtRisk());
		
//		Construct list of hospitals at risk from wildfire.
		BuildingsAtRisk barWfrHsp = new BuildingsAtRisk(bbWfr.getBoundingBox(), hsp.getBuildings());
		
		System.out.println("");
		System.out.println("Hospitals at risk from wildfire:");
		System.out.println(barWfrHsp.getBuildingsAtRisk());
		
//		Construct list of stores at risk from wildfire.
		BuildingsAtRisk barWfrStr = new BuildingsAtRisk(bbWfr.getBoundingBox(), str.getBuildings());
		
		System.out.println("");
		System.out.println("Stores at risk from wildfire:");
		System.out.println(barWfrStr.getBuildingsAtRisk());

		System.out.println("");	
		System.out.println("------------------------");	
		

		
//		Construct list of farms at risk from flood.
		BuildingsAtRisk barFldFrm = new BuildingsAtRisk(bbFld.getBoundingBox(), frm.getBuildings());
		
		System.out.println("");
		System.out.println("Farms at risk from flood:");
		System.out.println(barFldFrm.getBuildingsAtRisk());
		
//		Construct list of hospitals at risk from flood.
		BuildingsAtRisk barFldHsp = new BuildingsAtRisk(bbFld.getBoundingBox(), hsp.getBuildings());
		
		System.out.println("");
		System.out.println("Hospitals at risk from flood:");
		System.out.println(barFldHsp.getBuildingsAtRisk());
		
//		Construct list of stores at risk from flood.
		BuildingsAtRisk barFldStr = new BuildingsAtRisk(bbFld.getBoundingBox(), str.getBuildings());
		
		System.out.println("");
		System.out.println("Stores at risk from flood:");
		System.out.println(barFldStr.getBuildingsAtRisk());

		System.out.println("");	
		System.out.println("------------------------");	
		

		System.out.println("");	
		System.out.println("Time to run!");
		
	}

}
